package com.aoxin.service.inter.course.webCourse;

import java.text.ParseException;
import java.util.List;
import java.util.Map;

import com.aoxin.model.course.SlfChildren;
import com.aoxin.model.dto.SelectDto;

public interface ChildrenService {
	
	public static final String REDIS_CHILDREN_CODE = "_children";

	/** 
	 * 通过孩子Id删除孩子
	 * 
	 * @param childrenId
	 * @return
	 */
	Integer deleteByChildrenId(Integer childrenId);

	/**
	 * 添加孩子
	 * 
	 * @param slfChildren
	 * @return
	 */
	Integer insertChildren(SlfChildren slfChildren,String parameter)  throws ParseException;

	/**
	 * 查询所有孩子|条件查询孩子
	 * 
	 * @param slfChildren
	 * @return
	 */
	List<SlfChildren> getChildren(SlfChildren slfChildren);

	/**
	 * 根据ID查询孩子
	 * 
	 * @param childrenId
	 * @return
	 */
	SlfChildren getAChildren(Integer childrenId);

	/**
	 * 修改孩子
	 * 
	 * @param slfChildren
	 * @return
	 * @throws ParseException 
	 */
	Integer updateChildren(SlfChildren slfChildren,String parameter) throws IllegalAccessException, ParseException;

	/**
	 * 查询用户孩子信息
	 * 
	 * @param userId
	 * @return
	 */
	List<SlfChildren> getChildrenInfo(Integer userId);

	/**
	 * 修改孩子校区
	 * 
	 * @param childrenId
	 * @param schoolName
	 * @return
	 */
	Integer updateChildrenSchool(Integer childrenId, String schoolName);

	/**
	 * 查询所有孩子id姓名
	 * 
	 * @return
	 */
	List<SelectDto> getChildrenIdName();


	/**
	 * 获取默认孩子Id
	 * @return
	 */
	Integer getDefaultChildrenId(Integer userId);

	/**
	 * 根据userId获取全部孩子id
	 * @param userId
	 * @return
	 */
	List<Integer> getChildrenId(Integer userId);



	/**
	 * 修改默认孩子状态
	 */
	void updateDefaultChildren(Integer childrenId,Integer userId);


	/**
	 * 恢复默认孩子状态
	 */
	void recoverChildren(Integer childrenId,Integer userId);
	
	
	public List<SlfChildren> surplusClassHour();
	
	
}
